package cn.changeforyou.devUtils.copy;

import lombok.Data;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * @author zhyu
 * @version 1.0
 * @date 2022-7-15 11:18
 */
@Data
public class CopyContext extends BaseContext{

    /**
     * 当前源路径
     */
    private String currentSrcPath;
    /**
     * 当前目标路径
     */
    private String currentTargetPath;

    /**
     * 是否是目录复制
     */
    private boolean directoryCopy;

    /**
     * 是否初始化完毕
     */
    private boolean inited;
    /**
     * 当前目标文件
     */
    private File currentTargetFile;
    /**
     * 当前备份路径
     */
    private String currentBackPath;
    /**
     * 当前备份文件
     */
    private File currentBackFile;
    /**
     * 当前相对路径
     */
    private String currentRelativePath;

    /**
     * 当前需要被操作的文件
     */
    private File currentSrcFile;

    /**
     * 当前是否通过检测
     */
    private boolean currentError;

    /**
     * 当前操作文件状态
     */
    private FileStatus currentSrcStatus;
    /**
     * 当前目的文件状态
     */
    private FileStatus currentTargetStatus;
    /**
     * 当前备份状态
     */
    private FileStatus currentBackStatus;

    /**
     * 文件操作信息
     */
    private List<CopyFileOperateInfo> copyFileOperateInfos;
    /**
     * 日志详情路径
     */
    private String copyLogPath;

    public CopyContext() {
        copyFileOperateInfos = new ArrayList<>(16);
    }

}
